## 10 contient la divisibilité par 4, 11 par 100, 12 par 400 pour les registres
## Pour la RAM, 0 sec, 1 min, 2 heures, 3 jours, 4 mois, 5 années

li 3 59
lw 2 0 0
beq 2 3 seconde
li 1 1
add 2 2 1
sw 2 0 0
j fin

seconde :
li 1 0
sw 1 0 0
j minute

minute :
lw 2 0 1
bneq 2 3 minutezero
li 1 1
add 2 2 1
sw 2 0 1
j fin

minutezero :
li 1 0
sw 1 0 1
j heure

heure :
li 3 23
lw 2 0 2
beq 2 3 heurezero
li 1 1
add 2 2 1
sw 2 0 2
j fin

heurezero :
li 1 0
sw 1 0 2
j etrebissextile

etrebissextile :
li 6 0
beq 12 6 bissex
beq 11 6 norm
beq 10 6 bissex

norm :
li 6 0
j jour

bissex :
li 6 1

jour:
lw 3 0 3
lw 4 0 4
li 2 1
beq 2 5 janvier
li 2 2
beq 2 5 fevrier
li 2 3
beq 2 5 mars
li 2 4
beq 2 5 avril
li 2 5
beq 2 5 mai
li 2 6
beq 2 5 juin
li 2 7
beq 2 5 juillet
li 2 8
beq 2 5 aout
li 2 9
beq 2 5 septembre
li 2 10
beq 2 5 octobre
li 2 11
beq 2 5 novembre
li 2 12
beq 2 5 decembre

avril:
juin:
septembre:
novembre:
li 2 30
beq 2 3 jour30maj
li 1 1
add 3 3 1
sw 3 0 3
j fin

jour30maj:
li 1 1
sw 1 0 3
li 1 1
add 4 4 1
sw 4 0 4
j fin

fevrier:
li 1 1
beq 6 1 fevrierbissex
li 2 28
beq 2 3 jourfevmaj
add 3 3 1
add 4 4 1
sw 3 0 3
j fin

jourfevmaj:
add 4 4 1
sw 4 0 4
sw 1 0 3
j fin

fevrierbissex:
li 2 29
beq 3 4 jourfevBmaj
add 3 3 1
add 4 4 1
sw 3 0 3
j fin

jourfevBmaj:
add 4 4 1
sw 4 0 4
sw 1 0 3
j fin

janvier:
mars:
mai:
juillet:
aout:
octobre:
li 2 31
beq 2 3 jour31maj
li 1 1
add 3 3 1
sw 3 0 3
j fin

jour31maj:
li 1 1
sw 1 0 3
add 4 4 1
sw 4 0 4
j fin

decembre:
li 2 31
beq 2 3 jourdecmaj
li 1 1
add 3 3 1
sw 3 0 3
j fin

jourdecmaj:
li 1 1
sw 1 0 3
sw 1 0 4
j annee

annee:
lw 5 0 5
add 5 4 1
sw 3 0 5
j misajour4

misajour4 :
li 4 3
beq 4 10 mod4
li 1 1
add 10 10 1
j misajour100

mod4 :
li 10 0

misajour100 :
li 4 99
beq 4 11 mod100
li 1 1
add 11 11 1
j misajour400

mod100 :
li 11 0

misajour400 :
li 4 399
beq 4 12 mod400
li 1 1
add 12 12 1
j fin

mod400 :
li 12 0

fin :
